package com.zp.system.api;


import com.zp.common.core.exception.ServiceException;
import com.zp.system.api.entity.LoginUser;
import com.zp.system.api.entity.SysUser;
import com.zp.system.api.entity.XcxLoginUser;

/**
 * 用户服务
 *
 * @author zhang peng
 */
public interface RemoteUserService {

    /**
     * 通过用户名查询用户信息
     *
     * @param username 用户名
     * @return 结果
     */
    LoginUser getUserInfo (String username) throws ServiceException;

    /**
     * 通过手机号查询用户信息
     *
     * @param phonenumber 手机号
     * @return 结果
     */
    LoginUser getUserInfoByPhonenumber (String phonenumber) throws ServiceException;

    /**
     * 通过openid查询用户信息
     *
     * @param openid openid
     * @return 结果
     */
    XcxLoginUser getUserInfoByOpenid (String openid) throws ServiceException;

    /**
     * 注册用户信息
     *
     * @param sysUser 用户信息
     * @return 结果
     */
    Boolean registerUserInfo (SysUser sysUser);

    /**
     * 退出清空用户登录科室
     *
     * @param userId
     * @return
     */
    int emptyLoginDeptId (String userId);

}
